02. 风格迁移
风格迁移
为了展示深度学习模型可以实现的各种功能,我们现在来研究一个非常有趣的项目,叫做快速风格迁移。通过风格迁移,你可以按照著名的画作重新创建风格一样的图片!神经网络会学习这些画作采用的技巧,并学会如何自己应用这些绘画技巧。此模型根据著名画作的风格进行了训练,能够将这些风格迁移到其他图片上,甚至视频上!
我用该模型对我的猫咪 Chihiro 的图片进行了风格迁移,采用的是 Hokusai 的 The Great Wave Off Kanagawa。

要自己试一下,你可以在 fast-style-transfer GitHub 资源库 中找到相关代码。你可以使用 git
克隆该资源库,或将整个资源库下载为 Zip 归档文件,并解压。
该神经网络按照(此处)的几种不同风格进行了训练,并保存在检查点文件中。检查点文件包含了关于已训练神经网络的所有信息,可以将风格应用到新的图片上。
依赖项
安装运行该代码所需的所有程序包的最简单方式是使用 Miniconda,它是更简版本的 Anaconda。 Miniconda 自带了 Conda,后者是专门用于数据科学的程序包和环境管理器。请安装适合你的操作系统的 Python 3 版本的 Miniconda。
如果你之前没有使用过 Conda,请快速阅读我们在上一课的教程。
Windows
对于 Windows,你需要安装 TensorFlow 0.12.1、Python 3.5、Pillow 3.4.2、scipy 0.18.1 和 numpy 1.11.2。安装 Miniconda 后,打开你的命令提示符窗口。然后逐行输入以下命令:
conda create -n style-transfer python=3.5
activate style-transfer
pip install tensorflow
conda install scipy pillow
第一行创建一个新的环境,其中存储了格式迁移代码所需的程序包。第二行 (activate style-transfer
) 会进入该环境,你应该会在提示符窗口的开头看到环境名称。接下来的两行负责安装 TensorFlow、Scipy 和 Pillow(一种图像处理库)。
OS X 和 Linux
对于 OS X 和 Linux,你需要安装 TensorFlow 0.11.0、Python 2.7.9、Pillow 3.4.2、scipy 0.18.1 和 numpy 1.11.2.
在终端里,逐行输入以下命令:
conda create -n style-transfer python=2.7.9
source activate style-transfer
pip install tensorflow
conda install scipy pillow
第一行创建一个新的环境,其中存储了格式迁移代码所需的程序包。第二行 (source activate style-transfer
) 进入该环境,你应该会在提示符窗口的开头看到环境名称。接下来的两行负责安装 TensorFlow、Scipy 和 Pillow(一种图像处理库)。
迁移风格
- 从fast-style-transfer资源库中下载 Zip 归档文件并解压。你可以通过点击右侧的亮绿色按钮进行下载。
- 从此处下载 Rain Princess 检查点,将其放在 fast-style-transfer 文件夹中。检查点文件是已经调谐参数的模型。使用此检查点文件后我们不需要再训练该模型,可以直接使用。
- 将你要调整格式的图片放到 fast-style-transfer 文件夹。
- 进入你之前创建的 Conda 环境(如果不在里面的话)。
- 在终端里,转到 fast-style-transfer 文件夹并输入
python evaluate.py --checkpoint ./rain-princess.ckpt --in-path <path_to_input_file> --out-path ./output_image.jpg
注意:你的检查点文件可能名称为
rain_princess.ckpt
,注意是下划线,而不是上面的连字符。
你可以在此页面的底部获得更多检查点文件,都试试吧!
请在论坛(中文论坛上分享你创建的内容。我们非常希望能够看到你的成果。此外,你也可以去训练你自己的图片上的网络,你可以在资源库中找到说明(但是需要足够的硬件支持)。
注意:要留意输入图片的大小,风格迁移在运行大型文件时,会花费很长的时间。
风格迁移清单
Task Feedback:
恭喜!你能够使用深度学习进行风格迁移了!
Checkpoint 按照以下画作进行了训练:
- Rain Princesss checkpoint,作者:Leonid Afremov
- La Muse checkpoint,作者:Pablo Picasso
- Udnie checkpoint,作者:Francis Picabia
- Scream checkpoint,作者:Edvard Munch
- The Great Wave off Kanagawa checkpoint,作者:Hokusai
- The Shipwreck of the Minotaur checkpoint,作者:J.M.W. Turner